Technical Field
This invention relates to computing systems, and more particularly, to efficient network traffic management of highly data parallel computing.
Description of the Relevant Art
Generally speaking, when a general-purpose processor such as a central processing unit (CPU) is performing input/output (I/O) operations for an application, it is occupied for the duration of the operations. Additionally, in a system that includes multiple processors, the CPU may be the only processor with support for I/O abstractions such as network sockets. Therefore, the CPU may be partially or fully unavailable while performing both local and network I/O operations and coordinating communications between a network interface and other processors. Further, the other processors may incur delays while waiting for the CPU to coordinate network communications on their behalf.
In addition to general-purpose processors, computing systems may include other types of processors. One example of another type of processor is a parallel processor with a parallel architecture. Data parallel processors may include graphics processing units (GPUs), digital signal processors (DSPs), and so forth. In such systems, the parallel processor may not support I/O abstractions, such as network sockets, and may rely on a CPU for network communication. Consequently, the benefits of using the parallel processor may be reduced as delays are incurred as a result of having to rely on the CPU to support network communications. A further issue that may arise is that if the parallel processor includes support for direct network communication, each of the available work-items or threads being processed by the processor would be capable of generating an independent network message. In some cases the number of such work-items and/or threads may be relatively large. Consequently, transferring a relatively large number of small individual messages between processing nodes across a network may incur undesirable overhead.
In view of the above, methods and systems for efficient management of network traffic management are desired.